In recent years, transmission or storage of video, audio, and other data in digital form has been increasingly carried out. In this case, these data are divided and reconstructed into plural pieces of data such as packets, each having a data structure comprising several fields, and thereafter, the plural pieces of data (packets) are multiplexed into a single transmission or storage medium to be transmitted or stored. As a standard of data structure and multiplexing in this case, there is the MPEG system standard (ISO/IEC 13818-1). In many cases, transmission or storage of data has been carried out by a method based on the packet data structure of the MPEG system standard.
In the system where such packet data are multiplexed, an apparatus for receiving the data must select data-to-be-received from the multiplexed packet data. To be specific, the data reception apparatus must identify various kinds of data attendant on a program, such as video data, audio data, PSI (Program Specific information), SI (Service information) and the like to select only required data, and store the selected data according to the types of the respective data. The stored video data is inputted to a video decoder to reproduce a picture, the audio data is inputted to an audio decoder to reproduce a sound, and the information such as PSI or SI is processed by software to be displayed for viewers, or it is used for controlling the operation of the data reception apparatus.
Hereinafter, a description will be given of a demultiplexer performing data selection, which is used in a receiver of digital broadcasting or the like that employs a data multiplexing method based on the MPEG system standard.
In the MPEG system standard, various kinds of data, such as video data, audio data, and others, are multiplexed into a data stream in a form called transport stream packets (hereinafter referred to as TS packets), and each TS packet is given a packet identifier (hereinafter referred to as PID) indicating the type of data. In the demultiplexer, inputted TS packets are sorted according to their PIDS, and data extracted from required TS packets are stored in storage areas in a buffer memory corresponding to the respective PIDs.
As a technique relating to selection and storage of data in the conventional demultiplexer, there is “Inverse Transport Processor having Memory Address Circuit” which is disclosed in Japanese Published Patent Application No. Hei.7-297855 (corresponding to U.S. Pat. No. 5521979, “Packet Video Signal Inverse Transport System”). In the conventional demultiplexer, data selected according to PIDs (SCIDs in the above-mentioned literature) are stored in data storage areas in a memory corresponding to the respective PIDS.
However, the conventional data selection/storage apparatus comprising the demultiplexer and the memory has drawbacks as follows. Hereinafter, the drawbacks will be described for the case where a transport stream shown in FIG. 1 is inputted to the conventional data selection/storage apparatus.
With reference to FIG. 1, data of two programs a and b are multiplexed in a transport stream. The program a is composed of three kinds of video data (TS packets having PIDs of Va1, Va2, Va3), one kind of audio data (TS packets having a PID of Aa1), and one kind of program information data (TS packets having a PID of Sa). The program b is composed of one kind of video data (TS packets having a PID of Vb1), one kind of audio data (TS packets having a PID of Ab1), and one kind of program information data (TS packets having a PID of Sb). Hereinafter, the program information data is abbreviated as “program data”.
A description will be given of the case where the program a is taken from the transport stream shown in FIG. 1 and reproduced, in the conventional data selection/storage apparatus, with reference to FIGS. 13(a)–13(c).
FIG. 13(a) is a diagram illustrating a transport stream to be inputted to the demultiplexer, FIG. 13(b) is a diagram illustrating the contents of TS packets which are selected from the transport stream shown in FIG. 13(a) by the demultiplexer, and FIG. 13(c) is a diagram illustrating the state where the TS packets selected by the demultiplexer are stored in the memory.
The demultiplexer selects the TS packets constituting the program a (the TS packets having the PIDs of Va1, Va2, Va3, Aa1, and Sa) from the transport stream shown in FIG. 13(a), whereby only the TS packets shown in FIG. 13(b) are obtained.
In the conventional demultiplexer, the selected data are stored in the storage areas in the memory corresponding to the respective PIDs. To be specific, as shown in FIG. 13(c), the video data of the TS packets having the PIDs of Va1, Va2, and Va3 are stored in video data storage areas 1, 2, and 3, respectively, and the audio data of the TS packets having the PID of Aa1 are stored in an audio data storage area, and the program data of the TS packets having the PID of Sa are stored in a program data storage area. The video data from one of the video data storage areas 1, 2, and 3 are inputted to the video decoder to be reproduced as a picture.
In recent years, a digital television broadcast having plural kinds of video data in one program, like the program a in the transport stream shown in FIG. 1, has been considered. Accordingly, a digital television broadcast receiver is required to reproduce plural pictures on the same screen at the same time.
In the conventional demultiplexer, however, data are stored in different storage areas in the memory corresponding to the PIDs of the data, and only video data having one PID are transmitted to the video decoder. Therefore, only one picture is reproduced at a time, and the structure of the IF connecting the demultiplexer and the decoder must be considerably altered to reproduce plural pictures on the same screen at the same time.
Furthermore, when the PID of the TS packets which store the video data is changed (for example, when a program a the viewer has watched is ended and, subsequently, a program c comes on the air), the conventional demultiplexer is required to select both of the video data having the PIDs before and after the program change at the same time, store the respective video data in different storage areas in the memory, and switch the data storage area to send the video data to the video decoder in accordance with the timing at which the PID of the video data to be aired is changed (i.e., the timing at which the program a is switched to the program c).
Accordingly, the contents of processing of the demultiplexer are complicated, and the timing to output the video data to the video decoder is delayed when the program is switched.